The subject matter of U.S. patent application entitled METHOD OF ASSESSING PERFORMANCE OF COMPUTER SYSTEMS, filed on even date herewith, Application Ser. No. 09/156369, is related to this application.
1. Field of the Invention
The invention relates generally to systems for measuring performance of computer systems, such as personal computers. More particularly, the invention relates to measuring the performance of disk subsystems, such as hard drives.
2. Description of the Related Art
A powerful computer system is often noted for its ability to quickly store, retrieve, communicate, and process a large amount of information, such as conventional data, voice, graphics, and interactive video. With the evolution of intranets and internets, such as the public Internet, the need for more powerful computer systems is generally of paramount consideration to consumers. In assessing the power of a computer system, a consumer often measures the computer system performance using one of several commercially available benchmarks. A benchmark is a computer program which tests and measures performance of a computer system and its subsystems, such as disk, CD-ROM, memory, processor, and graphics/video subsystems.
These benchmark tests are intended to provide information about the overall performance of the computer system. One kind of benchmark testing involves measuring a data transfer rate within the computer system. The data transfer rate is the rate at which the computer (e.g., the main processor) transfers data among its internal components, such as between a hard drive and a random access memory (RAM). The data transfer rate may be of great importance in assessing the power of the computer system. When operating the computer system, certain data is read from and written to the main memory frequently and repeatedly. For instance, recognizing that the disk drive is spending much of its time reading the same information over and over leads to the conclusion that the data transfer rate may be an important criterion in determining the performance of the computer system.
Commercially available benchmarks are often inadequate for measuring computer system performance. Moreover, these benchmarks may provide different and inconsistent test results for the same computer system. For example, a benchmark manufactured by Ziff-Davis may provide test results which are different than those provided by Adaptec Threadmark 32. Additionally, these benchmarks often provide performance results which may not match a computer manufacturer""s specifications. Consequently, a consumer may be forced to not rely on performance test results provided by commercially available benchmarks.
Computer manufacturers often use their own benchmarks which test computer subsystem performance, such as data transfer rate. These benchmarks are often designed for a specific product or group of products and, hence, may not be applied to compare computer performance from different manufacturers. Consequently, it is difficult to rely upon these benchmark programs for accurate and comparative results.
There may be other difficulties associated with determining data transfer rates in a computer system. These difficulties are often due to inherent operational characteristics of computer hard drives. More particularly, a hard drive typically transfers data in short read and write bursts, lasting few milliseconds. This is accomplished by reading a relatively small amount of data in a short burst, and immediately thereafter, writing the small amount of data, in a similarly short burst. Hence, a transfer of an entire data file is often broken up into a sequence of very short bursts of read and write operations. This operation renders it difficult to accurately measure the rate at which data is actually transferred between two memory subsystems (and, particularly, across the main/host bus).
Therefore, there is a need for a system and method of analyzing and determining the performance of computer subsystems objectively and, when repeated, with consistent results. The system should be suitable for use with a variety of operating systems having various subsystems and components.
To overcome the above-mentioned problems, the invention provides a system for assessing performance of a device in a computer. One embodiment of the invention is a system which comprises a virtual drive electrically connected to the device. The system further comprises a processor electrically connected to the virtual drive. The processor is configured to transfer data between the virtual drive and the device and measure the transfer rate of the device. Another embodiment of the invention is a program storage device storing instructions that when executed by a computer perform a method of assessing performance of a subsystem. The method comprises the acts of establishing a virtual drive, transferring data between the virtual drive and the subsystem, and measuring the transfer rate of the subsystem. Another embodiment of the invention is a program storage device storing instructions that when executed by a computer perform a method of measuring performance of a hard drive in a computer. The method comprises the acts of establishing a RAM drive in the computer, and transferring a file from the RAM drive to the hard drive. The method further comprises the acts of measuring the duration of time needed to transfer the file, and determining a data transfer rate of the hard drive.